#设置cmake最低版本
cmake_minimum_required(VERSION 3.4.1)

#设置项目名称
project(tst_qt3d_auto_extras)



#引入add_module模板文件
include(${ISSQTTESTROOTDIR}/cmake/add_module.cmake)

#设置测试类型，auto为自动测试，manual为手动测试,即test目录下的文件夹名
set(TEST_TYPE auto)
#设置模块名
set(MODULE qt3d)
#设置需要链接的模块
set(LinkQt Core Widgets Concurrent 3DCore 3DExtras)
#设置需要链接的模块的私有模块
set(LinkQtPrivate Core 3DCore 3DExtras)
#设置排除的文件夹
set(EXCLUDE domain qml-qtquicktest)
#寻找指定测试类型的所有测试项，即auto目录下的所有测试项
#find_all(${MODULE} ${TEST_TYPE} TEST_ITEMS)

#如果需要自行添加整合测试项，可以使用如下语句,即添加测试类型(auto、manual)下的目录(支持多级目录)
# set(TEST_ITEMS ${TEST_ITEMS}
#     test1
#     test2
# )
#多级目录
#

# set(TEST_ITEMS ${TEST_ITEMS}
#  )

message(Qt${QT_VERSION_MAJOR}3DExtrasPrivate_DIR=${Qt${QT_VERSION_MAJOR}3DExtrasPrivate_DIR})

if(DEFINED Qt${QT_VERSION_MAJOR}3DExtrasPrivate_DIR AND NOT "${Qt${QT_VERSION_MAJOR}3DExtrasPrivate_DIR}" STREQUAL "")
    list(APPEND TEST_ITEMS
     extras/common
     extras/qcuboidgeometry
     extras/qtorusgeometry
     extras/qforwardrenderer
     extras/qfirstpersoncameracontroller
     extras/qorbitcameracontroller
    )
else()

endif()
# set(EXCLUDE_SRC ${EXCLUDE_SRC}
#      core/common/qbackendnodetester.cpp
#      core/common/qbackendnodetester.h
#  )
#再把TEST_ITEMS传给create_library整合测试项，生成测试库

set(PLUGINS QOpenHarmonyPlatformIntegrationPlugin)

#整合测试项，生成测试库，名字当前工程名，即project(tst_qtcharts_auto)中定义的tst_qtcharts_auto
if(DEFINED TEST_ITEMS)
    create_library(${TEST_ITEMS})
endif()
